package com.dzsw.simple.server.util;

import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.StringUtils;

public class Base64Util {

	private Base64Util() {
	}

	/**
	 * byte array encode to base64
	 *
	 * @param data byte[]
	 * @return string
	 */
	public static String encode(byte[] data) {
		return Base64.encodeBase64String(data);
	}

	/**
	 * string encode to base64
	 *
	 * @param data string
	 * @return string
	 */
	public static String encode(String data) {
		if (data != null && data.length() > 0) {
			return Base64.encodeBase64String(StringUtils.getBytesUtf8(data));
		}
		return null;
	}

	/**
	 * base64 string decode to byte array
	 *
	 * @param data string
	 * @return decoded byte[]
	 */
	public static byte[] decode2Bytes(String data) {
		if (data != null && data.length() > 0) {
			return Base64.decodeBase64(data);
		}
		return null;
	}

	/**
	 * base64 string decode to string
	 *
	 * @param data string
	 * @return decoded string
	 */
	public static String decode2String(String data) {
		if (data != null && data.length() > 0) {
			return StringUtils.newStringUtf8(Base64.decodeBase64(data));
		}
		return null;
	}

}
